//定义map      
function Map()     
{      
	this.container = {};      
}      
  
//将key-value放入map中      
Map.prototype.put = function(key,value){      
try{      
    
if(key!=null && key != "")     
  this.container[key] = value;      
  
}catch(e){      
	return e;      
}      
};      
  
//根据key从map中取出对应的value      
Map.prototype.get = function(key){      
try{
	return this.container[key];
}catch(e){      
	return e;      
}      
};      
  
//判断map中是否包含指定的key      
Map.prototype.containsKey=function(key){
  
	try{     
	 for(var p in this.container)     
	 {     
	    if(this.p==key)     
	       return true;     
	 }     
	  
	 return false;     
	  
	}catch(e){     
	 return e;     
	}     
  
}     
  
//判断map中是否包含指定的value      
Map.prototype.containsValue = function(value){      
try{      
  
for(var p in this.container)     
{      
if(this.container[p] === value)      
   return true;      
}      
  
return false;      
  
}catch(e){      
return e;      
}      
};      
  
  
//删除map中指定的key      
Map.prototype.remove = function(key){      
try{      
  
delete this.container[key];      
  
}catch(e){      
return e;      
}      
};      
  
//清空map      
Map.prototype.clear = function(){      
try{      
delete this.container;      
this.container = {};      
  
}catch(e){      
  return e;      
}      
};      
  
//判断map是否为空      
Map.prototype.isEmpty = function(){      
    
if(this.keyArray().length==0)     
  return true;     
else      
  return false;     
};      
  
//获取map的大小      
Map.prototype.size=function(){     
  
return this.keyArray().length;     
}     
  
//返回map中的key值数组      
Map.prototype.keyArray=function(){     
  
  var keys=new Array();     
  for(var p in this.container)     
  {     
      keys.push(p);     
  }     
    
  return keys;     
}     
  
//返回map中的value值数组      
Map.prototype.valueArray=function(){     
   
  var values=new Array();     
  var keys=this.keyArray();     
  for(var i=0;i<keys.length;i++)     
  {     
     values.push(this.container[keys[i]]);     
  }     
       
  return values;     
}
Map.prototype.toJson=function(valType){
	 if(typeof(valType) == 'undefined')
	 	valType = 'string';
	 var s = "";
 	 var keys = this.keyArray(); 
     for(var i=0; i<keys.length; i++){
        var k = keys[i];
        if(s != "") s += ',';
        s += '"' + k + '"' +":";
        var val = this.container[k];
        if(valType == 'array'){
	        var t = '';
        	for(var j = 0;j < val.length;j++){
    			if(t != "") t += ',';
        		t += '"' + val[j] + '"';
        	}
        	
        	val = '[' + t + ']';
        }else if(valType == 'string'){
        	val = '"' + val + '"';
        }
        
        s += val;
    }
    return "{" + s + "}"; 
}